package com.jenjinstudios.demo.client.ui; import javafx.scene.input.KeyCode; import javafx.scene.input.KeyEvent; import static javafx.scene.input.KeyCode.*; import static javafx.scene.input.KeyEvent.KEY_PRESSED; /** * @author Caleb Brinkman */ public class PlayerKeyFlags { private boolean up, down, left, right; static boolean isFireKey(KeyEvent keyEvent) { return keyEvent.getCode().equals(SPACE) && keyEvent.getEventType() == KEY_PRESSED; } public static boolean isMovementKey(KeyEvent keyEvent) { KeyCode c = keyEvent.getCode(); return c.isArrowKey() || c.equals(W) || c.equals(A) || c.equals(S) || c.equals(D); } protected boolean rightKey() {return right && !left;} protected boolean leftKey() {return left && !right;} protected boolean downKey() {return down && !up;} protected boolean upKey() {return up && !down;} protected void setKeyFlags(KeyEvent keyEvent) { KeyCode keyCode = keyEvent.getCode(); up = ((keyCode.equals(UP) || keyCode.equals(W)) ? (keyEvent.getEventType() == KEY_PRESSED) : up); down = ((keyCode.equals(DOWN) || keyCode.equals(S)) ? (keyEvent.getEventType() == KEY_PRESSED) : down); left = ((keyCode.equals(LEFT) || keyCode.equals(A)) ? (keyEvent.getEventType() == KEY_PRESSED) : left); right = ((keyCode.equals(RIGHT) || keyCode.equals(D)) ? (keyEvent.getEventType() == KEY_PRESSED) : right); } }